import request from '@/utils/request'

// 查询请购单管理列表
export function listPurchase(query) {
  return request({
    url: '/purchase/purchase/list',
    method: 'get',
    params: query
  })
}

// 查询请购单管理详细
export function getPurchase(id) {
  return request({
    url: '/purchase/purchase/' + id,
    method: 'get'
  })
}

// 新增请购单管理
export function addPurchase(data,ids,key) {
  const params = new URLSearchParams();
  //封装在一起 后端自动格式化成一个属性对应一个值

  // 处理ids参数（无论单个值还是数组）
  if (Array.isArray(ids)) {
    ids.forEach(id => params.append('ids', id));
    params.append('key', key);
  } else {
    params.append('ids', ids);
  }
  return request({
    url: '/purchase/purchase',
    method: 'post',
    data: data

  })
}

// 修改请购单管理
export function updatePurchase(data) {
  return request({
    url: '/purchase/purchase',
    method: 'put',
    data: data
  })
}

// 删除请购单管理
export function delPurchase(id) {
  return request({
    url: '/purchase/purchase/' + id,
    method: 'delete'
  })
}


//额外功能
export function tijiao(data) {
  return request({
    url: '/purchase/purchase/add',
    method: 'post',
    data: data
  })
}



export function shenhe(data) {
  return request({
    url: '/purchase/purchase/add',
    method: 'post',
    data: data
  })
}
export function baocun(data,ids) {
  // const params = new URLSearchParams();
  //封装在一起 后端自动格式化成一个属性对应一个值

  // 处理ids参数（无论单个值还是数组）
 //  if (Array.isArray(ids)) {
 // params.append('ids', ids)
 //  } else {
 //    params.append('ids', ids);
 //  }
  const requestData = {
    erpPurchaseRequestManagement: data,  // 第一个数组
    purchaseRequestItemList:ids
     // 第二个数组
  };  return request({
    url: '/purchase/purchase/add',
    method: 'post',
    data: requestData
  })
}
export function orderwuliaoId(id) {
  return request({
    url:`/purchase/purchase/${id}`,
    method: 'post'
  })
}





export function updatetijiao(id) {
  return request({
    url:`/purchase/purchase/submit/${id}`,
    method: 'post'
  })
}

export function updateshenhe(id,opinion,choice) {
  return request({
    url: '/purchase/purchase/audit',
    method: 'post',
    params: {
      id: Number(id),     // 确保是数字且不带 []
      opinion: opinion,   // 参数名和后端完全一致
      choice: Number(choice)
    }
  })
}
// 终止
export function zhongzhi(ids,reasona) {
  const params = new URLSearchParams();
  //封装在一起 后端自动格式化成一个属性对应一个值

  // 处理ids参数（无论单个值还是数组）
  if (Array.isArray(ids)) {
    ids.forEach(id => params.append('ids', id));
  } else {
    params.append('ids', ids);
  }
  params.append('reasona', reasona);
  return request({
    url: '/purchase/purchase/end',
    method: 'post',

    params: params
  })
}

export function jilu(id) {
  return request({
    url: `/purchase/purchase/jilu/${id}`,
    method: 'get'
  })
}
export function wuliao(id) {
  return request({
    url: `/purchase/purchase/purchasedetail/${id}`,
    method: 'post'
  })
}


  export function selectmaterials() {
    return request({
      url: '/purchase/purchase/selectmaterials',
      method: 'get'
    })
  }
  //新增物料
export function wuliaoadd(ids,key) {
  const params = new URLSearchParams();
  //封装在一起 后端自动格式化成一个属性对应一个值

  // 处理ids参数（无论单个值还是数组）
  if (Array.isArray(ids)) {
    ids.forEach(id => params.append('ids', id));
    params.append('key', key);
  } else {
    params.append('ids', ids);
  }
  return request({
    url: '/purchase/purchase/addmaterials',
    method:"post",

    params: params
  })
}
export function qishen(id) {
  return request({
    url: `/purchase/purchase/reject/${id}`,
    method: 'post'
  })
}
export function wuliaodelete( id,wid) {
  return request({
    url: `/purchase/purchase/deletematerials/${id}/${wid}`,
    method: 'post'
  })
}
/*获取已审核的供应商新增到请购列表中*/
export function selectsupper() {
  return request({
    url: '/purchase/purchase/selectsupper',
    method: 'get'
  })
}
export function updatesw(data,ids) {

  const requestData = {
    erpPurchaseRequestManagement: data,  // 第一个对象
    purchaseRequestItemList:ids    // 第二个数组

  };  return request({
    url: '/purchase/purchase/updatesw',
    method: 'post',
    headers: {
      'Content-Type': 'application/json'
    },
    data: requestData
  })
}
